解决python中出现的不可见字符问题,OSError: [Errno 22] Invalid argument: ‘\u202a**.csv‘ 您所在的位置:网站首页 excel 不可见字符 解决python中出现的不可见字符问题,OSError: [Errno 22] Invalid argument: ‘\u202a**.csv‘

解决python中出现的不可见字符问题,OSError: [Errno 22] Invalid argument: ‘\u202a**.csv‘

2023-10-16 01:09| 来源: 网络整理| 查看: 265

解决python中出现的不可见字符问题,OSError: [Errno 22] Invalid argument: '\u202a**.csv' 问题描述不可见控制字符解决方法

问题描述

今天遇到一个坑,读取文件时,在用到open函数时,始终报OSError: [Errno 22] Invalid argument:的错误,意思说文件路径错误。 pandas读取csv文件时,pandas自带open()运行报错误OSError: [Errno 22] Invalid argument: '\u202a**.csv。

import pandas as pd import os #读取csv文件并提取文件名,去除路径扩展名 csvfilename = r'F:\N49-N1120190525.csv' basename=os.path.basename(csvfilename) filenamex = os.path.splitext(basename)[0] #读取csv文件 df = pd.read_csv(csvfilename, encoding = 'gbk')

报错提示pandas中open()打开指定文件路径时,文件路径不正确:

OSError: [Errno 22] Invalid argument:'\u202aF:\N49-N1120190525.csv'

在写代码的时候,有一段需要导入文件名,于是,就在文件属性->安全->对象名称处复制了。如果你是直接copy如下图的路径,可能就会遇到诸如u202a的windows不可见控制字符的巨坑。 在这里插入图片描述 百度经验:像pyCharm、Spyder等平台,不能直接复制粘贴路径不然就会报和我一样的错

很多人建议:老老实实自己打一遍路径,不要在属性里面直接复制路径就行了。

但是这方法也太不符合程序员们的作风了! 下面介绍不可见字符和解决方法。

不可见控制字符

控制字符详细可参见:博主小盼你最萌哒的\u202a 神奇的控制字符:\u202a 神奇的控制字符 下面摘抄一些控制字符介绍:

可以看到在C前面有个Unicode编码为202A的字符。 在这里插入图片描述 然后搜索202A Unicode,找到这么个网站: ‪ - 从左至右嵌入 表情符号 (U+202A) - Unicode®字符百科 就是这么个字符在作怪。 网上找了些相关资料: 在这里插入图片描述.在这里插入图片描述 所以这个符号应该是windows在做文件名显示的时候,为了保证文件路径是从左往右显示所加的强制字符。

解决方法

引入a = a.strip(’\u202a’)即可去除。

import pandas as pd import os #读取csv文件并提取文件名,去除路径扩展名 csvfilename = r'F:\N49-N1120190525.csv' csvfilename = csvfilename.strip('\u202a')#除去不可见字符 basename=os.path.basename(csvfilename) filenamex = os.path.splitext(basename)[0] #读取csv文件 df = pd.read_csv(csvfilename, encoding = 'gbk')

程序可正常读取了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有